package main

// @title Go API Demo
// @version 1.0
// @description 一个基于 Gin + Gorm + JWT 的示例 API 项目。
// @termsOfService http://swagger.io/terms/

// @contact.name API Support
// @contact.url https://github.com/yourname/go-api-demo
// @contact.email support@example.com

// @license.name MIT
// @license.url https://opensource.org/licenses/MIT

// @host localhost:8080
// @BasePath /api/v1

// @schemes http

// ✅ 添加 JWT 认证定义
// @securityDefinitions.apikey Bearer
// @in header
// @name Authorization


import (
	"go-api-demo/database"
	"go-api-demo/models"
	"go-api-demo/routes"
	"log"
	"os"

	_ "go-api-demo/docs"

	"github.com/joho/godotenv"
)

func main() {
	// 加载 .env
	if err := godotenv.Load(); err != nil {
		log.Println("⚠️ 没有找到 .env 文件，使用默认配置")
	}

	// 初始化数据库
	database.InitDB()
	database.DB.AutoMigrate(&models.User{})

	// 启动服务
	port := os.Getenv("PORT")
	if port == "" {
		port = "8080"
	}
	r := routes.SetupRouter()
	r.Run(":" + port)
}
